package com.itheima.d3_buffer;

import java.io.BufferedReader;
import java.io.FileReader;

//目标：掌握字符缓冲输入流读取数据
public class Demo03 {
    public static void main(String[] args) throws Exception {
        /**
         * 作用：提高字符输入流读取数据的性能，除此之外多了按照行读取数据的功能
         *      BufferedReader(Reader r)：可以把低级的字符输入流包装成一个高级的缓冲字符输入流管道，从而提高字符输入流读数据的性能
         *
         * 新增功能：
         *      String readLine()：读取一行数据返回，如果读取没有完毕，无行可读返回null
         *
         * 需求：
         *
         *
         */
        //1.使用字符缓冲输入流一次读取一个字符数组，读取c.txt文件中的内容
        BufferedReader br = new BufferedReader(new FileReader("day09-io\\resources\\c.txt"));


        //1.1 尝试一次读取一个字符数组
        //char[] chs = new char[5];

        //1.2 循环读取
        /*
        int len;
        while ((len = br.read(chs)) != -1) {
            String str = new String(chs, 0, len);
            System.out.print(str);
        }
        */

        //2.使用字符缓冲输入流一次读取一行，读取c.txt文件中的内容
        //String line = br.readLine();
        //System.out.println(line);

        //3.循环读取行，条件：只要读取到的行不是null，就继续读
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }
}
